#pragma GCC optimize(2)
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
#include <map>
#include <vector>

using namespace std;
using LL = long long;
const int N = 1e5 + 10;

int n;
int dis[N];
int X[N], Y[N];

int main(){
    freopen("in.txt", "r", stdin);
    freopen("out.txt", "w", stdout);
    ios::sync_with_stdio(false);
    cin.tie(nullptr);

    int T;
    cin >> T;
    while(T--){
        cin >> n;
        for(int i = 0; i < n; i ++) cin >> X[i];
        for(int i = 0; i < n; i ++) cin >> Y[i];
        for(int i = 0; i < n; i ++) dis[i] = Y[i] - X[i];

        sort(dis, dis + n);
        int i = 0, j = n - 1;
        int res = 0;
        while(i < j){
            if(dis[i] + dis[j] >= 0){
                res ++;
                i ++, j --;
            }else{
                i ++;
            }
        }

        cout << res << '\n';
    }

    return 0;
}